package com.transaction.manage.model.dto;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

@Table(name = "account_cfm")
public class AccountCfm implements Serializable {
    @Id
    private Integer id;

    /**
     * 渠道编码
     */
    @Column(name = "channel_code")
    private String channelCode;

    /**
     * 处理日期
     */
    @Column(name = "handle_date")
    private String handleDate;

    /**
     * 出错详细信息
     */
    @Column(name = "error_detail")
    private String errorDetail;

    /**
     * 冻结截止日期
     */
    @Column(name = "freezing_deadline")
    private String freezingDeadline;

    /**
     * 冻结原因
     */
    @Column(name = "frozen_cause")
    private String frozenCause;

    /**
     * TA客户编号
     */
    @Column(name = "customer_no")
    private String customerNo;

    /**
     * 摘要/说明
     */
    private String specification;

    /**
     * 操作（清算）网点编号
     */
    @Column(name = "net_no")
    private String netNo;

    /**
     * 对方销售人处投资人基金交易帐号
     */
    @Column(name = "target_transaction_account_id")
    private String targetTransactionAccountId;

    /**
     * 交易所在地区编号
     */
    @Column(name = "region_code")
    private String regionCode;

    /**
     * 基金账户卡的凭证号
     */
    @Column(name = "account_card_id")
    private String accountCardId;

    /**
     * 个人/机构标志?
     */
    @Column(name = "individual_or_institution")
    private String individualOrInstitution;

    /**
     * 投资人户名简称
     */
    @Column(name = "account_abbr")
    private String accountAbbr;

    /**
     * 投资人户名
     */
    @Column(name = "investor_name")
    private String investorName;

    /**
     * 个人证件类型及机构证件型?
     */
    @Column(name = "certificate_type")
    private String certificateType;

    /**
     * 投资人证件号码
     */
    @Column(name = "certificate_no")
    private String certificateNo;

    /**
     * 是否注册登记人发起业务标志
     */
    @Column(name = "from_ta_flag")
    private String fromTaFlag;

    /**
     * 网点号码
     */
    @Column(name = "branch_code")
    private String branchCode;

    /**
     * 交易发生时间
     */
    @Column(name = "transaction_time")
    private String transactionTime;

    /**
     * 交易发生日期
     */
    @Column(name = "transaction_date")
    private String transactionDate;

    /**
     * TA确认交易流水号
     */
    @Column(name = "ta_serial_no")
    private String taSerialNo;

    /**
     * 多渠道开户标志
     */
    @Column(name = "multi_acct_flag")
    private String multiAcctFlag;

    /**
     * 投资人基金帐号
     */
    @Column(name = "ta_account_id")
    private String taAccountId;

    /**
     * 申请单编号
     */
    @Column(name = "app_sheet_serial_no")
    private String appSheetSerialNo;

    /**
     * 交易确认日期
     */
    @Column(name = "transaction_cfm_date")
    private String transactionCfmDate;

    /**
     * 交易处理返回代码
     */
    @Column(name = "return_code")
    private String returnCode;

    /**
     * 投资人基金交易帐号
     */
    @Column(name = "transaction_account_id")
    private String transactionAccountId;

    /**
     * 业务代码
     */
    @Column(name = "business_code")
    private String businessCode;

    /**
     * 销售人代码
     */
    @Column(name = "distributor_code")
    private String distributorCode;

    private Date utime;

    /**
     * 流程步骤过程记录
     */
    @Column(name = "flow_step")
    private String flowStep;

    private static final long serialVersionUID = 1L;

    public AccountCfm(String channelCode, String handleDate) {
        this.channelCode = channelCode;
        this.handleDate = handleDate;
    }

    /**
     * @return id
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取渠道编码
     *
     * @return channel_code - 渠道编码
     */
    public String getChannelCode() {
        return channelCode;
    }

    /**
     * 设置渠道编码
     *
     * @param channelCode 渠道编码
     */
    public void setChannelCode(String channelCode) {
        this.channelCode = channelCode == null ? null : channelCode.trim();
    }

    /**
     * 获取处理日期
     *
     * @return handle_date - 处理日期
     */
    public String getHandleDate() {
        return handleDate;
    }

    /**
     * 设置处理日期
     *
     * @param handleDate 处理日期
     */
    public void setHandleDate(String handleDate) {
        this.handleDate = handleDate == null ? null : handleDate.trim();
    }

    /**
     * 获取出错详细信息
     *
     * @return error_detail - 出错详细信息
     */
    public String getErrorDetail() {
        return errorDetail;
    }

    /**
     * 设置出错详细信息
     *
     * @param errorDetail 出错详细信息
     */
    public void setErrorDetail(String errorDetail) {
        this.errorDetail = errorDetail == null ? null : errorDetail.trim();
    }

    /**
     * 获取冻结截止日期
     *
     * @return freezing_deadline - 冻结截止日期
     */
    public String getFreezingDeadline() {
        return freezingDeadline;
    }

    /**
     * 设置冻结截止日期
     *
     * @param freezingDeadline 冻结截止日期
     */
    public void setFreezingDeadline(String freezingDeadline) {
        this.freezingDeadline = freezingDeadline == null ? null : freezingDeadline.trim();
    }

    /**
     * 获取冻结原因
     *
     * @return frozen_cause - 冻结原因
     */
    public String getFrozenCause() {
        return frozenCause;
    }

    /**
     * 设置冻结原因
     *
     * @param frozenCause 冻结原因
     */
    public void setFrozenCause(String frozenCause) {
        this.frozenCause = frozenCause == null ? null : frozenCause.trim();
    }

    /**
     * 获取TA客户编号
     *
     * @return customer_no - TA客户编号
     */
    public String getCustomerNo() {
        return customerNo;
    }

    /**
     * 设置TA客户编号
     *
     * @param customerNo TA客户编号
     */
    public void setCustomerNo(String customerNo) {
        this.customerNo = customerNo == null ? null : customerNo.trim();
    }

    /**
     * 获取摘要/说明
     *
     * @return specification - 摘要/说明
     */
    public String getSpecification() {
        return specification;
    }

    /**
     * 设置摘要/说明
     *
     * @param specification 摘要/说明
     */
    public void setSpecification(String specification) {
        this.specification = specification == null ? null : specification.trim();
    }

    /**
     * 获取操作（清算）网点编号
     *
     * @return net_no - 操作（清算）网点编号
     */
    public String getNetNo() {
        return netNo;
    }

    /**
     * 设置操作（清算）网点编号
     *
     * @param netNo 操作（清算）网点编号
     */
    public void setNetNo(String netNo) {
        this.netNo = netNo == null ? null : netNo.trim();
    }

    /**
     * 获取对方销售人处投资人基金交易帐号
     *
     * @return target_transaction_account_id - 对方销售人处投资人基金交易帐号
     */
    public String getTargetTransactionAccountId() {
        return targetTransactionAccountId;
    }

    /**
     * 设置对方销售人处投资人基金交易帐号
     *
     * @param targetTransactionAccountId 对方销售人处投资人基金交易帐号
     */
    public void setTargetTransactionAccountId(String targetTransactionAccountId) {
        this.targetTransactionAccountId = targetTransactionAccountId == null ? null : targetTransactionAccountId.trim();
    }

    /**
     * 获取交易所在地区编号
     *
     * @return region_code - 交易所在地区编号
     */
    public String getRegionCode() {
        return regionCode;
    }

    /**
     * 设置交易所在地区编号
     *
     * @param regionCode 交易所在地区编号
     */
    public void setRegionCode(String regionCode) {
        this.regionCode = regionCode == null ? null : regionCode.trim();
    }

    /**
     * 获取基金账户卡的凭证号
     *
     * @return account_card_id - 基金账户卡的凭证号
     */
    public String getAccountCardId() {
        return accountCardId;
    }

    /**
     * 设置基金账户卡的凭证号
     *
     * @param accountCardId 基金账户卡的凭证号
     */
    public void setAccountCardId(String accountCardId) {
        this.accountCardId = accountCardId == null ? null : accountCardId.trim();
    }

    /**
     * 获取个人/机构标志?
     *
     * @return individual_or_institution - 个人/机构标志?
     */
    public String getIndividualOrInstitution() {
        return individualOrInstitution;
    }

    /**
     * 设置个人/机构标志?
     *
     * @param individualOrInstitution 个人/机构标志?
     */
    public void setIndividualOrInstitution(String individualOrInstitution) {
        this.individualOrInstitution = individualOrInstitution == null ? null : individualOrInstitution.trim();
    }

    /**
     * 获取投资人户名简称
     *
     * @return account_abbr - 投资人户名简称
     */
    public String getAccountAbbr() {
        return accountAbbr;
    }

    /**
     * 设置投资人户名简称
     *
     * @param accountAbbr 投资人户名简称
     */
    public void setAccountAbbr(String accountAbbr) {
        this.accountAbbr = accountAbbr == null ? null : accountAbbr.trim();
    }

    /**
     * 获取投资人户名
     *
     * @return investor_name - 投资人户名
     */
    public String getInvestorName() {
        return investorName;
    }

    /**
     * 设置投资人户名
     *
     * @param investorName 投资人户名
     */
    public void setInvestorName(String investorName) {
        this.investorName = investorName == null ? null : investorName.trim();
    }

    /**
     * 获取个人证件类型及机构证件型?
     *
     * @return certificate_type - 个人证件类型及机构证件型?
     */
    public String getCertificateType() {
        return certificateType;
    }

    /**
     * 设置个人证件类型及机构证件型?
     *
     * @param certificateType 个人证件类型及机构证件型?
     */
    public void setCertificateType(String certificateType) {
        this.certificateType = certificateType == null ? null : certificateType.trim();
    }

    /**
     * 获取投资人证件号码
     *
     * @return certificate_no - 投资人证件号码
     */
    public String getCertificateNo() {
        return certificateNo;
    }

    /**
     * 设置投资人证件号码
     *
     * @param certificateNo 投资人证件号码
     */
    public void setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo == null ? null : certificateNo.trim();
    }

    /**
     * 获取是否注册登记人发起业务标志
     *
     * @return from_ta_flag - 是否注册登记人发起业务标志
     */
    public String getFromTaFlag() {
        return fromTaFlag;
    }

    /**
     * 设置是否注册登记人发起业务标志
     *
     * @param fromTaFlag 是否注册登记人发起业务标志
     */
    public void setFromTaFlag(String fromTaFlag) {
        this.fromTaFlag = fromTaFlag == null ? null : fromTaFlag.trim();
    }

    /**
     * 获取网点号码
     *
     * @return branch_code - 网点号码
     */
    public String getBranchCode() {
        return branchCode;
    }

    /**
     * 设置网点号码
     *
     * @param branchCode 网点号码
     */
    public void setBranchCode(String branchCode) {
        this.branchCode = branchCode == null ? null : branchCode.trim();
    }

    /**
     * 获取交易发生时间
     *
     * @return transaction_time - 交易发生时间
     */
    public String getTransactionTime() {
        return transactionTime;
    }

    /**
     * 设置交易发生时间
     *
     * @param transactionTime 交易发生时间
     */
    public void setTransactionTime(String transactionTime) {
        this.transactionTime = transactionTime == null ? null : transactionTime.trim();
    }

    /**
     * 获取交易发生日期
     *
     * @return transaction_date - 交易发生日期
     */
    public String getTransactionDate() {
        return transactionDate;
    }

    /**
     * 设置交易发生日期
     *
     * @param transactionDate 交易发生日期
     */
    public void setTransactionDate(String transactionDate) {
        this.transactionDate = transactionDate == null ? null : transactionDate.trim();
    }

    /**
     * 获取TA确认交易流水号
     *
     * @return ta_serial_no - TA确认交易流水号
     */
    public String getTaSerialNo() {
        return taSerialNo;
    }

    /**
     * 设置TA确认交易流水号
     *
     * @param taSerialNo TA确认交易流水号
     */
    public void setTaSerialNo(String taSerialNo) {
        this.taSerialNo = taSerialNo == null ? null : taSerialNo.trim();
    }

    /**
     * 获取多渠道开户标志
     *
     * @return multi_acct_flag - 多渠道开户标志
     */
    public String getMultiAcctFlag() {
        return multiAcctFlag;
    }

    /**
     * 设置多渠道开户标志
     *
     * @param multiAcctFlag 多渠道开户标志
     */
    public void setMultiAcctFlag(String multiAcctFlag) {
        this.multiAcctFlag = multiAcctFlag == null ? null : multiAcctFlag.trim();
    }

    /**
     * 获取投资人基金帐号
     *
     * @return ta_account_id - 投资人基金帐号
     */
    public String getTaAccountId() {
        return taAccountId;
    }

    /**
     * 设置投资人基金帐号
     *
     * @param taAccountId 投资人基金帐号
     */
    public void setTaAccountId(String taAccountId) {
        this.taAccountId = taAccountId == null ? null : taAccountId.trim();
    }

    /**
     * 获取申请单编号
     *
     * @return app_sheet_serial_no - 申请单编号
     */
    public String getAppSheetSerialNo() {
        return appSheetSerialNo;
    }

    /**
     * 设置申请单编号
     *
     * @param appSheetSerialNo 申请单编号
     */
    public void setAppSheetSerialNo(String appSheetSerialNo) {
        this.appSheetSerialNo = appSheetSerialNo == null ? null : appSheetSerialNo.trim();
    }

    /**
     * 获取交易确认日期
     *
     * @return transaction_cfm_date - 交易确认日期
     */
    public String getTransactionCfmDate() {
        return transactionCfmDate;
    }

    /**
     * 设置交易确认日期
     *
     * @param transactionCfmDate 交易确认日期
     */
    public void setTransactionCfmDate(String transactionCfmDate) {
        this.transactionCfmDate = transactionCfmDate == null ? null : transactionCfmDate.trim();
    }

    /**
     * 获取交易处理返回代码
     *
     * @return return_code - 交易处理返回代码
     */
    public String getReturnCode() {
        return returnCode;
    }

    /**
     * 设置交易处理返回代码
     *
     * @param returnCode 交易处理返回代码
     */
    public void setReturnCode(String returnCode) {
        this.returnCode = returnCode == null ? null : returnCode.trim();
    }

    /**
     * 获取投资人基金交易帐号
     *
     * @return transaction_account_id - 投资人基金交易帐号
     */
    public String getTransactionAccountId() {
        return transactionAccountId;
    }

    /**
     * 设置投资人基金交易帐号
     *
     * @param transactionAccountId 投资人基金交易帐号
     */
    public void setTransactionAccountId(String transactionAccountId) {
        this.transactionAccountId = transactionAccountId == null ? null : transactionAccountId.trim();
    }

    /**
     * 获取业务代码
     *
     * @return business_code - 业务代码
     */
    public String getBusinessCode() {
        return businessCode;
    }

    /**
     * 设置业务代码
     *
     * @param businessCode 业务代码
     */
    public void setBusinessCode(String businessCode) {
        this.businessCode = businessCode == null ? null : businessCode.trim();
    }

    /**
     * 获取销售人代码
     *
     * @return distributor_code - 销售人代码
     */
    public String getDistributorCode() {
        return distributorCode;
    }

    /**
     * 设置销售人代码
     *
     * @param distributorCode 销售人代码
     */
    public void setDistributorCode(String distributorCode) {
        this.distributorCode = distributorCode == null ? null : distributorCode.trim();
    }

    /**
     * @return utime
     */
    public Date getUtime() {
        return utime;
    }

    /**
     * @param utime
     */
    public void setUtime(Date utime) {
        this.utime = utime;
    }

    /**
     * 获取流程步骤过程记录
     *
     * @return flow_step - 流程步骤过程记录
     */
    public String getFlowStep() {
        return flowStep;
    }

    /**
     * 设置流程步骤过程记录
     *
     * @param flowStep 流程步骤过程记录
     */
    public void setFlowStep(String flowStep) {
        this.flowStep = flowStep == null ? null : flowStep.trim();
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", channelCode=").append(channelCode);
        sb.append(", handleDate=").append(handleDate);
        sb.append(", errorDetail=").append(errorDetail);
        sb.append(", freezingDeadline=").append(freezingDeadline);
        sb.append(", frozenCause=").append(frozenCause);
        sb.append(", customerNo=").append(customerNo);
        sb.append(", specification=").append(specification);
        sb.append(", netNo=").append(netNo);
        sb.append(", targetTransactionAccountId=").append(targetTransactionAccountId);
        sb.append(", regionCode=").append(regionCode);
        sb.append(", accountCardId=").append(accountCardId);
        sb.append(", individualOrInstitution=").append(individualOrInstitution);
        sb.append(", accountAbbr=").append(accountAbbr);
        sb.append(", investorName=").append(investorName);
        sb.append(", certificateType=").append(certificateType);
        sb.append(", certificateNo=").append(certificateNo);
        sb.append(", fromTaFlag=").append(fromTaFlag);
        sb.append(", branchCode=").append(branchCode);
        sb.append(", transactionTime=").append(transactionTime);
        sb.append(", transactionDate=").append(transactionDate);
        sb.append(", taSerialNo=").append(taSerialNo);
        sb.append(", multiAcctFlag=").append(multiAcctFlag);
        sb.append(", taAccountId=").append(taAccountId);
        sb.append(", appSheetSerialNo=").append(appSheetSerialNo);
        sb.append(", transactionCfmDate=").append(transactionCfmDate);
        sb.append(", returnCode=").append(returnCode);
        sb.append(", transactionAccountId=").append(transactionAccountId);
        sb.append(", businessCode=").append(businessCode);
        sb.append(", distributorCode=").append(distributorCode);
        sb.append(", utime=").append(utime);
        sb.append(", flowStep=").append(flowStep);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}